/**
 * tigerrad
 * fall 2006
 */

#ifndef _ENTITY_H
#define _ENTITY_H

#include "Util.h"

#include "Model.h"

/**
 * An object in the Scene.
 */
class Entity
{
	public:
		/**
		 * Constructor.
		 * Entity instances can share Model instances.
		 */
		Entity(ModelPtr model) : _model(model) { }

		/**
		 * Return the Model.
		 */
		ModelPtr getModel() const { return _model; }

	protected:
		/**
		 * The Model for this Entity.  Can be shared with other Entity instances.
		 */
		ModelPtr _model;
};

typedef boost::shared_ptr<Entity> EntityPtr;

#endif

